package com.by.bean;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @author yqs
 */
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("供应商信息")
public class Supplier implements Serializable {
    @ApiModelProperty(value = "供应商id")
    private Integer id;

    @ApiModelProperty(value = "供应商公司名称")
    @NotEmpty(message = "供应商公司名称不能为空")
    private String scompanyName;

    @ApiModelProperty(value = "地区")
    @NotEmpty(message = "地区不能为空")
    private String sRegion;

    @ApiModelProperty(value = "供应商地址")
    @NotEmpty(message = "供应商地址不能为空")
    private String address;

    @ApiModelProperty(value = "供应商公司简介")
    private String sNote;

    @ApiModelProperty(value = "主营产品分类")
    @NotNull(message = "主营产品分类不能为空")
    private Integer productId;

    @ApiModelProperty(value = "主营产品分类名称")
    @NotEmpty(message = "主营产品分类名称不能为空")
    private String productName;

    @ApiModelProperty(value = "可以生产的材质种类")
    @NotEmpty(message = "可以生产的材质种类不能为空")
    private String canType;

    @ApiModelProperty(value = "报价系数")
    @NotNull(message = "报价系数不能为空")
    private Double qCoefficient;

    @ApiModelProperty(value = "可以生产的材质种类")
    private String material;

    @ApiModelProperty(value = "营业执照存储的位置")
    @NotEmpty(message = "营业执照存储的位置不能为空")
    private String license;

    @ApiModelProperty(value = "供应商logo存储的位置")
    @NotEmpty(message = "供应商logo存储的位置不能为空")
    private String logo;

    @ApiModelProperty(value = "联系人id", hidden = true)
    private Integer contactsId;
    @Valid
    private Contacts contacts;

    @ApiModelProperty(value = "开户银行")
    @NotEmpty(message = "开户银行不能为空")
    private String bank;

    @ApiModelProperty(value = "收款账号")
    @NotEmpty(message = "收款账号不能为空")
    private String collectionAccount;

    @ApiModelProperty(value = "公司名称")
    @NotEmpty(message = "公司名称不能为空")
    private String companyName;

    @ApiModelProperty(value = "纳税识别号")
    @NotEmpty(message = "纳税识别号不能为空")
    private String payTaxes;

    @ApiModelProperty(value = "备注")
    private String remarks;

    @ApiModelProperty(value = "0不含运费 1包含运费")
    @NotNull(message = "是否包含运费不能为空")
    private Integer isFreight;

    @ApiModelProperty(value = "0不需要进仓 1需要进仓")
    @NotNull(message = "是否需要进仓不能为空")
    private Integer isWarehouse;

    @ApiModelProperty(value = "0不需要审核 1需要审核")
    @NotNull(message = "是否需要审核不能为空")
    private Integer isExamine;

    @ApiModelProperty(value = "用户id")
    @NotNull(message = "用户id不能为空")
    private Integer userId;
    @Valid
    private User user;

}